<?php
// +----------------------------------------------------------------------
// | CoreThink [ Simple Efficient Excellent ]
// +----------------------------------------------------------------------
// | Copyright (c) 2014 http://www.corethink.cn All rights reserved.
// +----------------------------------------------------------------------
// | Author: jry <598821125@qq.com> <http://www.corethink.cn>
// +----------------------------------------------------------------------
namespace Home\Controller;
use Think\Controller;
/**
 * 前台默认控制器
 * @author jry <598821125@qq.com>
 */
class IndexController extends HomeController{
   /**
     * 文档列表
     * @author jry <598821125@qq.com>
     */
    public function index(){
        //获取分类信息
        
                $template = $category['index_template'] ? 'Document/'.$category['index_template'] : 'Document/index_default';
                $map['status'] = array('eq', 1);
                $document_list = D('Document')->page(!empty($_GET["p"])?$_GET["p"]:1, C('ADMIN_PAGE_ROWS'))
                                              ->order('sort desc,id desc')->where($map)->select();
                $page = new \Common\Util\Page(D('Document')->where($map)->count(), C('ADMIN_PAGE_ROWS'));
				
                //如果当前分类下无文档则获取子分类文档
                if(!$document_list){
                    $child_cagegory_id_list = D('Category')->where(array('pid' => $cid))->getField('id',true);
                    if($child_cagegory_id_list){
                        $map['cid'] = array('in', $child_cagegory_id_list);
                        $document_list = D('Document')->page(!empty($_GET["p"])?$_GET["p"]:1, C('ADMIN_PAGE_ROWS'))
                                                     ->order('sort desc,id desc')->where($map)->select();
                        $page = new \Common\Util\Page(D('Document')->where($map)->count(), C('ADMIN_PAGE_ROWS'));
                    }
                }

                //获取扩展表的信息
                foreach($document_list as &$doc){
                    $doc_type_name = D('DocumentType')->getFieldById($doc['doc_type'], 'name');
                    $temp = array();
                    $temp = D('DocumentExtend'.ucfirst($doc_type_name))->find($doc['id']);
                    $doc = array_merge($doc, $temp);
                }

                $this->assign('__CURRENT_CATEGORY__', $category['id']);
                $this->assign('__CURRENT_CATEGORY_GROUP__', $category['group']);
                $this->assign('info', $category);
                $this->assign('volist', $document_list);
                $this->assign('page', $page->show());
                $this->meta_title = $category['title'];
                Cookie('__forward__', $_SERVER['REQUEST_URI']);
                $this->display($template);
       
    }
    
    public  function databook(){
        //配置数据库
        $dbserver   = C('DB_HOST');
        $dbusername = C('DB_USER');           //数据库用户名
        $dbpassword = C('DB_PWD');            //密码
        $database   = C('DB_NAME');    //数据库名
        $title = '系统数据字典';
        //下面是连接数据库
        $mysql_conn = @mysql_connect("$dbserver", "$dbusername", "$dbpassword") or die("Mysql connect is error.");
        mysql_select_db($database, $mysql_conn);
        mysql_query('SET NAMES utf8', $mysql_conn);
        $table_result = mysql_query('show tables', $mysql_conn);
        //取得所有的表名
        while ($row = mysql_fetch_array($table_result)) {
            $tables[]['TABLE_NAME'] = $row[0];
        }
        //循环取得所有表的备注
        foreach ($tables AS $k=>$v) {
            $sql  = 'SELECT * FROM ';
            $sql .= 'INFORMATION_SCHEMA.TABLES ';
            $sql .= 'WHERE ';
            $sql .= "table_name = '{$v['TABLE_NAME']}'  AND table_schema = '{$database}'";
            $table_result = mysql_query($sql, $mysql_conn);
            while ($t = mysql_fetch_array($table_result) ) {
                $tables[$k]['TABLE_COMMENT'] = $t['TABLE_COMMENT'];
            }
            $sql  = 'SELECT * FROM ';
            $sql .= 'INFORMATION_SCHEMA.COLUMNS ';
            $sql .= 'WHERE ';
            $sql .= "table_name = '{$v['TABLE_NAME']}' AND table_schema = '{$database}'";
            $fields = array();
            $field_result = mysql_query($sql, $mysql_conn);
            while ($t = mysql_fetch_array($field_result) ) {
                $fields[] = $t;
            }
            $tables[$k]['COLUMN'] = $fields; }
            mysql_close($mysql_conn);
        
        
            $html = '';
            //循环所有表拼接字符串
            foreach ($tables AS $k=>$v) {
                $html .= '<p><h2 style="text-align:center;">'. $v['TABLE_COMMENT'] . ' </h2>';
                $html .= '<table  border="1" cellspacing="0" cellpadding="0" align="center">';
                $html .= '<caption>' . $v['TABLE_NAME'] . '</caption>';
                $html .= '<tbody><tr><th>字段名</th><th>数据类型</th><th>默认值</th>
     <th>允许非空</th>
     <th>自动递增</th><th>备注</th></tr>';
                $html .= '';
        
                foreach ($v['COLUMN'] AS $f) {
                    $html .= '<tr><td class="c1">' . $f['COLUMN_NAME'] . '</td>';
                    $html .= '<td class="c2">' . $f['COLUMN_TYPE'] . '</td>';
                    $html .= '<td class="c3"> ' . $f['COLUMN_DEFAULT'] . '</td>';
                    $html .= '<td class="c4"> ' . $f['IS_NULLABLE'] . '</td>';
                    $html .= '<td class="c5">' . ($f['EXTRA']=='auto_increment'?'是':' ') . '</td>';
                    $html .= '<td class="c6"> ' . $f['COLUMN_COMMENT'] . '</td>';
                    $html .= '</tr>';
                }
                $html .= '</tbody></table></p>';
            }
        
        
            //打印在页面中
            echo '<html>
 <head>
 <title>' . $title . '</title>
 <style>
 body,td,th {font-family:"宋体"; font-size:12px;}
 table{border-collapse:collapse;border:1px solid #CCC;background:#efefef;}
 table caption{text-align:left; background-color:#fff; line-height:2em; font-size:14px; font-weight:bold; }
 table th{text-align:left; font-weight:bold;height:26px; line-height:26px; font-size:12px; border:1px solid #CCC;}
 table td{height:20px; font-size:12px; border:1px solid #CCC;background-color:#fff;}
 .c1{ width: 120px;}
 .c2{ width: 120px;}
 .c3{ width: 70px;}
 .c4{ width: 80px;}
 .c5{ width: 80px;}
 .c6{ width: 270px;}
 </style>
 </head>
 <body>';
            echo '<h1 style="text-align:center;">' . $title . '</h1>';
            echo $html;
            echo '</body></html>';
    }
    
    public function imp_chm(){
        $filename = "apache.setup.html";
        $res = file_get_contents($filename);
//         foreach ($res as $val){
//             if(strpos($val,"d.add")!==false ){
//                 $val = str_replace(array("d.add(",");",'"'), "", $val);
//                 echo $val."<br>";
//             }
            
//         }

        preg_match_all("/<div.*class=\"chapter\">(.+?)<\/div>\s*<div\s*class=\"meun\">/is",$res,$mare);
        print_r($mare);
    }
	
}
